Bounded polymorphism in session types
نویسنده
چکیده
Session types allow high-level specifications of structured patterns of communication, such as client-server protocols, to be expressed as types and verified by static typechecking. In collaboration with Malcolm Hole, we have previously introduced a notion of subtyping for session types, formulated for an extended pi calculus. Subtyping allows one part of a system, for example a server, to be refined without invalidating type-correctness of other parts, for example clients. We now introduce bounded polymorphism, based on the same notion of subtyping, in order to support more precise and flexible specifications of protocols; in particular, a choice of type in one message may affect the types of future messages. We formalize the syntax, operational semantics and typing rules of an extended pi calculus, and prove that typechecking guarantees absence of run-time communication errors. We study algorithms for checking instances of the subtype relation in two versions of our system, which we call Kernel S6 and Full S6, and establish that subtyping in Kernel S6 is decidable but subtyping in Full S6 is undecidable.
منابع مشابه
Bounded Session Types for Object Oriented Languages
Earlier work explored the introduction of session types into object oriented languages. Following the session types literature, two parties would start communicating, provided the types attached to that communication, i.e. the corresponding session types, were dual of each other. Then, the type system was able to ensure soundness, in the sense that two communicating partners were guaranteed to ...
متن کاملLightweight Functional Session Types
Row types provide an account of extensibility that combines well with parametric polymorphism and type inference. We discuss the integration of row types and session types in a concurrent functional programming language, and how row types can be used to describe extensibility in session-typed communication.
متن کاملSoft Session Types
We show how systems of session types can enforce interactions to be bounded for all typable processes. The type system we propose is based on Lafont’s soft linear logic and is strongly inspired by recent works about session types as intuitionistic linear logic formulas. Our main result is the existence, for every typable process, of a polynomial bound on the length of any reduction sequence sta...
متن کاملSoft Session Types (Long Version)
We show how systems of session types can enforce interactions to be bounded for all typable processes. The type system we propose is based on Lafont’s soft linear logic and is strongly inspired by recent works about session types as intuitionistic linear logic formulas. Our main result is the existence, for every typable process, of a polynomial bound on the length of reduction sequences starti...
متن کاملAn extensible approach to session polymorphism
Session types describe and constrain the input/output behavior of systems. Existing session typing systems have limited support for polymorphism. For example, existing systems cannot provide the most general type for a generic proxy process that forwards messages between two channels. We provide a polymorphic session typing system for the π calculus, and demonstrate the utility of session-type-...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Mathematical Structures in Computer Science
دوره 18 شماره
صفحات -
تاریخ انتشار 2008